package com.crm.service.client;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.springframework.data.domain.Pageable;

import com.crm.vo.MemorialVo;
import com.crm.vo.Result;

public interface MemorialService {

	/**
	 * 查询所有的纪念日
	 * @param curpage
	 * @param pagesize
	 * @return
	 */
	public List<MemorialVo> queryAllMemorial(int curpage,int pagesize);
	
	/**
	 *  查询所有的纪念日的数量
	 * @return
	 */
	public Long queryCountAllMemorial();
	
	/**
	 * 根据id查询所有的纪念日
	 * @param memorialVo
	 * @return
	 */
	public List<MemorialVo> queryMemorialByMemId(Long memId, int curpage, int pagesize);
	
	/**
	 * 根据id查询所有的纪念日的数量
	 * @param memorialVo
	 * @return
	 */
	public Long queryCountMemorialByMemId(Long memId);
	
	/**
	 * 根据联系人姓名模糊查询纪念日
	 * @param contactName
	 * @param curpage
	 * @param pagesize
	 * @return
	 */
	public List<MemorialVo> queryMemorialByContactName(String contactName, int curpage, int pagesize);
	
	/**
	 * 根据联系人姓名模糊查询所有的纪念日的数量
	 * @param contactName
	 * @return
	 */
	public Long queryCountMemorialByContactName(String contactName);
	
	/**
	 * 查询当月的纪念日
	 * @param curpage
	 * @param pagesize
	 * @return
	 */
	public List<MemorialVo> queryMemorialCurMonth();
	
	/**
	 * 查询下个月的纪念日
	 * @return
	 */
	public List<MemorialVo> queryMemorialNextMonth();
	
	/**
	 * 新增联系人纪念日
	 * @param contactid
	 * @param type
	 * @param memDate
	 * @param remarks
	 * @return
	 */
	public Result addMemorial(Long memId, BigDecimal contactid, String type, Date memDate, String remarks);
	
	/**
	 * 删除联系人
	 * @param memId
	 * @return
	 */
	public Result delMemorial(Long memId);
}
